package com.sixiaojie.flink.dto;

import lombok.Data;

import java.time.LocalDateTime;

/**
 * 物流事件数据传输对象
 * 用于记录订单物流状态变更的关键信息
 */
@Data
public class LogisticsEvent {
    /**
     * 物流记录唯一标识ID
     * 格式：UUID或物流公司提供的运单号
     */
    private String logisticsId;

    /**
     * 关联的订单ID
     * 用于与订单系统进行关联
     */
    private String orderId;

    /**
     * 当前物流状态
     * 可选值：
     * - PROCESSING（处理中）
     * - SHIPPED（已发货）
     * - IN_TRANSIT（运输中）
     * - DELIVERED（已送达）
     * - RETURNED（已退回）
     */
    private String status;

    /**
     * 当前物流位置
     * 格式示例：
     * - "上海市浦东分拣中心"
     * - "北京市朝阳区配送站"
     */
    private String location;

    /**
     * 事件创建时间
     * 默认值为对象创建时的系统时间
     * 格式：ISO-8601 (yyyy-MM-dd'T'HH:mm:ss)
     */
    private LocalDateTime eventTime = LocalDateTime.now();
}